package com.snake.springboot.custom.api.service.bill;

import com.snake.springboot.custom.api.model.base.CallbackModel;
import com.snake.springboot.custom.api.model.bill.BillPlaceOrderModel;
import com.snake.springboot.custom.api.request.bill.*;
import com.snake.springboot.custom.api.request.page.PageQuery;
import com.snake.springboot.custom.api.response.bill.BillGoPayRsp;
import com.snake.springboot.custom.api.response.bill.BillRsp;
import org.snake.common.result.ReturnList;

public interface BillService {


    BillRsp placeOrder(BillPlaceOrderModel data);

    BillGoPayRsp goPay(BilGoPayModel model);

    void callback(CallbackModel model);

    ReturnList<BillRsp> custQueryBillList(PageQuery<BillQuery> params);

    ReturnList<BillRsp> adminQueryBillList(PageQuery<BillQuery> params);

    void goClose(BilGoPayModel model);

    void remove(String billId);

    void goRet(BillGoRetModel model);

    void billPayedAdd(BillPayedAddModel data);

    void billRetEd(BillRetEdModel data);

    BillRsp detail(String billId);

}
